In television pictures, a jagged appearance for diagonally extending lines and edges are well recognized as a common defect. Although distracting, such jagged lines and edges with a "staircase" appearance are somewhat inherent in images produced by scanning the display in a raster pattern. As the images are defined by scanning substantially parallel horizontal lines of changing intensity and color, diagonally extending sharp lines and edges in the display tend to have the stepped appearance.
In addition to traditional television pictures, jagged lines and edges also present a problem in computer-generated graphic displays. In that regard, a substantial need exists for an improved system to process computer graphics data to accomplish improved lines and edges.
Traditionally, computer graphic images are composed of a large number of elements, i.e. a rectangular pattern or array of individual pixels (picture elements). Specifically, intensity and color values are assigned to the individual pixels that compose an image. In a color display, each pixel involves an intensity value for red, green and blue so that the composite attains the desired color and intensity. For example, each of the color intensity signals in a computer picture might have any of two hundred fifty-six different values. Accordingly, each pixel in the picture is represented by a set of numerical color values which are compiled in a memory (display buffer) that supplies signals to control a display apparatus, typically incorporating a cathode ray tube.
Normally, the pixels in a picture display are quite small in relation to the perception of the human eye. However, as indicated above, in a raster scan display of a picture with a sharp edge or line, the pixels tend to indicate a jagged or staircase edge. The pixel display can be analogized to the pattern of a blank crossword puzzle in which each individual square is like a pixel. Using such an analogy, it can be appreciated that a diagonal line defined by blackened squares will exhibit a jagged or staircase edge.
In general, the present invention is based on recognizing that lines and edges in a computer-graphics raster display can be made to appear smoother by widening the line to incorporate several pixels and varying the intensity of the pixels in an averaging or filtering process. The filtering process has the effect of shading or feathering the line to accomplish the antialiasing improvement. Lines formed by such a technique appear to the human eye to be smoother and clearer.
It has been previously proposed to filter edges and lines to accomplish antialiasing with improved de-jagged gray-scale displays. Such techniques are treated in a publication COMPUTER GRAPHICS, Volume 15, No. 3, August 1981, specifically in an article entitled "Filtering Edges For Gray-Scale Displays", Gupta & Sproull. Accordingly, the present invention involves an improved and effective system for processing display signals to accomplish antialiasing.
In the generation of computer graphics displays, usually it is important that the display be frequently refreshed. That is, to accommodate motion or change in the display as well as to preserve the image for viewing, fresh signals must be supplied to refresh the display each fraction of a second. The need to frequently refresh the display along with the great volume of data involved in the display necessitates a vast amount of computation to produce effective, dynamic color displays.
To accomplish the necessary computation for effective graphic displays, it has been proposed to employ a set of computing elements connected for parallel operation. Consider an example. A display might involve an array of 1024.times.1024 pixels. To hasten the computation for such a display, it has been proposed to utilize a parallel configuration of processors (eight by eight) to calculate the individual values for sixty-four pixels simultaneously. Such a system is disclosed in the publication COMPUTER GRAPHICS, Volume 15, No. 3, August 1981, in an article entitled "A VLSI Architecture for Updating Raster-Scan Displays", page 71. The technique can be analogized to the use of a frame of eight by eight pixels which figuratively can be variously positioned with respect to a display for rapidly processing the pixels that lie within the frame.
In general, the system of the present invention involves a pixel processing system for reducing undesirable jagged effects by expanding the number of pixels involved in the presentation of a line. For example, assuming the display of a diagonal line, the system of the present invention figuratively expands the area of influence by the line to embrace a width of plural pixels. Specifically, a plurality of individual pixel processors are organized to effectively process individual pixels in a pattern shaping to the line. The system of the present invention also incorporates techniques and apparatus for handling troublesome endpoints of lines and simplifying the filtering computations.
More specifically, the pixel processor system of the present invention processes several pixels in parallel to accomplish filtering for gray-scale displays based on the coordinate offset between line and pixel. In the disclosed embodiments, two by two and four by four arrays of pixel processors are suggested. The array is controlled to plot a path for processing data as along a line. Thus, in treating sets of pixels, the processor might be thought of as moving from position to position in a pattern to cover the display. That is, each of the individual pixel processors is assigned one of sixteen address offsets to identify individual pixel data for processing in a recurring pattern. For example, at the starting point of a line, each of the sixteen processors takes a starting location to define a two by two or a four by four array shaping to an initial portion of the line. As the array repeatedly shapes to the line, it often is not configured as a rectangle. With the independent parallel processors providing individual pixel data, rather than to draw a jagged line of constant intensity in the display, the system creates a de-jagged line of variable shaded intensity, which to the human eye appears quite smooth and clear. Special treatment is given endpoints of the line to minimize appearances of instability and mismatching. Pixel data for each line in a display is summed so that line cross-over points are intensified.